﻿using Adnc.Application.Shared.Dtos;
using System;
using System.Collections.Generic;
using System.Text;

namespace WYT.Ord.Application.Contracts.Dtos.Order
{
    /// <summary>
    /// 订单商品信息
    /// </summary>
    public class OrderGoodsDto
    {
        /// <summary>
        /// 
        /// </summary>
        public long Id { get; set; }

        /// <summary>
        /// 订单ID
        /// </summary>
        public long OrderId { get; set; }

        /// <summary>
        /// 订单商品
        /// </summary>
        public long GoodsId { get; set; }

        /// <summary>
        /// 商品名称
        /// </summary>
        public string GoodsName { get; set; }

        /// <summary>
        /// 商品规格
        /// </summary>
        public long GoodsSizeId { get; set; }

        /// <summary>
        /// 规格名称
        /// </summary>
        public string GoodsSizeName { get; set; }

        /// <summary>
        /// 数量
        /// </summary>
        public int Quantity { get; set; }

        /// <summary>
        /// 商品价格
        /// </summary>
        public decimal Price { get; set; }

        /// <summary>
        /// 商品总价
        /// </summary>
        public decimal TotalPrice { get; set; }

        /// <summary>
        /// 商品图片
        /// </summary>
        public string GoodsImage { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string ImagesGoods { get; set; }

        /// <summary>
        /// 商品价格
        /// </summary>
        public ProductSizeDetailDto ProductSizeDetailDto { get; set; }

    }

    /// <summary>
    /// 商品信息
    /// </summary>
    public class ProductSizeDetailDto : IDto
    {
        /// <summary>
        /// 商品ID
        /// </summary>
        public long GoodsId { get; set; }

        /// <summary>
        /// 商品名称
        /// </summary>
        public string GoodsName { get; set; }

        /// <summary>
        /// 商品编码
        /// </summary>
        public string Code { get; set; }

        /// <summary>
        /// 参数
        /// </summary>
        public string Parameter { get; set; }

        /// <summary>
        /// 标语
        /// </summary>
        public string Slogan { get; set; }

        /// <summary>
        /// 标签
        /// </summary>
        public string Tag { get; set; }

        /// <summary>
        /// 商品名称（维语)
        /// </summary>
        public string UighurGoodsName { get; set; }

        /// <summary>
        /// 参数（维语)
        /// </summary>
        public string UighurParameter { get; set; }

        /// <summary>
        /// 标语（维语)
        /// </summary>
        public string UighurSlogan { get; set; }

        /// <summary>
        /// 标签（维语)
        /// </summary>
        public string UighurTag { get; set; }

        /// <summary>
        /// 是否是第三方商品
        /// </summary>
        public bool IsThirdParties { get; set; }

        /// <summary>
        /// 是否进入ERP，仅对第三方产品
        /// </summary>
        public bool ERPEnable { get; set; }

        /// <summary>
        /// 是否是国外商品
        /// </summary>
        public bool IsForeign { get; set; }

        /// <summary>
        /// 商品分类
        /// </summary>
        public int GoodsType { get; set; }

        /// <summary>
        /// 封面图
        /// </summary>
        public string SurfacePlot { get; set; }
        /// <summary>
        /// 轮播图
        /// </summary>
        public string Banner { get; set; }

        /// <summary>
        /// 详情图
        /// </summary>
        public string Details { get; set; }

        /// <summary>
        /// 视频地址
        /// </summary>
        public string VideoAddress { get; set; }

        /// <summary>
        /// 封面图（维语)
        /// </summary>
        public string UighurSurfacePlot { get; set; }
        /// <summary>
        /// 轮播图（维语)
        /// </summary>
        public string UighurBanner { get; set; }

        /// <summary>
        /// 详情图（维语)
        /// </summary>
        public string UighurDetails { get; set; }

        /// <summary>
        /// 区域设置
        /// </summary>
        public string NotSellAreaCode { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateTime { get; set; }

        /// <summary>
        /// 上架时间
        /// </summary>
        public DateTime? PutawayTime { get; set; }

        /// <summary>
        /// 下架时间
        /// </summary>
        public DateTime? OffLoadingTime { get; set; }

        /// <summary>
        /// 规格ID
        /// </summary>
        public long SizeId { get; set; }

        /// <summary>
        /// ERP编码
        /// </summary>
        public string ERPCode { get; set; }

        /// <summary>
        /// 规格名称
        /// </summary>
        public string SizeName { get; set; }

        /// <summary>
        /// 规格名称(维语)
        /// </summary>
        public string UighurSizeName { get; set; }

        /// <summary>
        /// 缩率图
        /// </summary>
        public string Thumbnail { get; set; }

        /// <summary>
        /// 业绩价格
        /// </summary>
        public decimal PerformancePrice { get; set; }

        /// <summary>
        /// 成本价格
        /// </summary>
        public decimal CostPrice { get; set; }

        /// <summary>
        /// 原价
        /// </summary>
        public decimal Price { get; set; }

        /// <summary>
        /// 代理积分
        /// </summary>
        public int ProxyIntegral { get; set; }

        /// <summary>
        /// 购物积分
        /// </summary>
        public int ShoppingIntegral { get; set; }

        /// <summary>
        /// 对应云仓商品ID
        /// </summary>
        public long? WarGoods{ get; set; }

        /// <summary>
        /// 对应云仓规格ID
        /// </summary>
        public long? WarSize { get; set; }

        /// <summary>
        /// 对应云仓规格商品数量，仅对直营商品有效
        /// </summary>
        public int? WarCount { get; set; }

        /// <summary>
        /// 物流模板
        /// </summary>
        public long? LogisticsId { get; set; }

        /// <summary>
        /// 商品价格
        /// </summary>
        public List<ProductPriceDto> ProductPrices { get; set; }
    }

    /// <summary>
    /// 商品价格
    /// </summary>
    public class ProductPriceDto: IDto
    {
        /// <summary>
        /// 用户等级
        /// </summary>
        public int UserLevel { get; set; }

        /// <summary>
        /// 价格
        /// </summary>
        public Decimal Price { get; set; }

        /// <summary>
        /// 积分价格
        /// </summary>
        public int IntegralPrice { get; set; }
    }
}
